package org.freedoit.server.om;

// Generated Oct 11, 2012 3:54:05 PM by Hibernate Tools 3.4.0.CR1

import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Version;

@Entity
@Table(name = "project")
public class Project implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6723156946740752519L;
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "project_id", unique = true, nullable = false)
	private Long projectId;

	@Column(name = "project_name", nullable = false)
	private String projectName;

	@Column(name = "comment")
	private String comment;

	@Column(name = "create_date")
	private Timestamp createDate;
	
	@Column(name = "user_id")
	private Long userId;
	
	@Column(name = "start_date")
	private Timestamp startDate;
	
	@Column(name = "due_date")
	private Timestamp dueDate;

	@Column(name = "status", nullable = false)
	private Integer status;
	
	@Column(name = "last_modify_time", nullable = false)
	private Timestamp lastModifyTime;

    @Version
	@Column(name = "last_modify_by_client_id", nullable = false)
	private Long lastModifyByClientId;

	public Project() {
	}

	public Project(String projectName, Integer status, 
			Timestamp lastModifyTime, Long lastModifyByClientId) {
		this.projectName = projectName;
		this.status = status;
		this.lastModifyTime = lastModifyTime;
		this.lastModifyByClientId = lastModifyByClientId;
	}

	public Project(String projectName, String comment, Timestamp createDate,
			Long userId, Timestamp startDate, Timestamp dueDate, Integer status, 
			Timestamp lastModifyTime, Long lastModifyByClientId) {
		this.projectName = projectName;
		this.comment = comment;
		this.createDate = createDate;
		this.userId = userId;
		this.startDate = startDate;
		this.dueDate = dueDate;
		this.status = status;
		this.lastModifyTime = lastModifyTime;
		this.lastModifyByClientId = lastModifyByClientId;
	}

	public Long getProjectId() {
		return this.projectId;
	}

	public void setProjectId(Long projectId) {
		this.projectId = projectId;
	}

	public String getProjectName() {
		return this.projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public String getComment() {
		return this.comment;
	}

	public void setComment(String comment) {
		this.comment = comment;
	}

	public Timestamp getCreateDate() {
		return this.createDate;
	}

	public void setCreateDate(Timestamp createDate) {
		this.createDate = createDate;
	}

	public Long getUserId() {
		return this.userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Timestamp getStartDate() {
		return this.startDate;
	}

	public void setStartDate(Timestamp startDate) {
		this.startDate = startDate;
	}

	public Timestamp getDueDate() {
		return this.dueDate;
	}

	public void setDueDate(Timestamp dueDate) {
		this.dueDate = dueDate;
	}

	public Integer getStatus() {
		return this.status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public java.util.Date getLastModifyTime() {
		return this.lastModifyTime;
	}

	public void setLastModifyTime(Timestamp lastModifyTime) {
		this.lastModifyTime = lastModifyTime;
	}

	public Long getLastModifyByClientId() {
		return this.lastModifyByClientId;
	}

	public void setLastModifyByClientId(Long lastModifyByClientId) {
		this.lastModifyByClientId = lastModifyByClientId;
	}
}
